/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function (s) {
    let max = ''
    const fn = (l, r) => {
        while (l >= 0 && r < s.length && s[l] === s[r]) {
            l--
            r++
        }
        // 拿到回文字符， 注意 上面while满足条件后多执行了一次，所以需要l+1, r+1-1
        const cur = s.slice(l + 1, r + 1 - 1)
        max = max.length > cur.length ? max : cur
    }


    for (let i = 0; i < s.length; i++) {
        fn(i, i)
        fn(i, i + 1)
    }

    return max

};